android 丢包率测试工具,android的ping的实现丢包率的获取 您所在的位置:网站首页 安卓 ping软件 android 丢包率测试工具,android的ping的实现丢包率的获取

android 丢包率测试工具,android的ping的实现丢包率的获取

2023-07-17 19:21| 来源: 网络整理| 查看: 265

最近做的ANdroid项目是有关于利用ping的方法去获取丢包率。

方案一(失败):

1、ping.c文件在JNI的实现。ping.c文件与其相关文件从Busybox源码(busybox-1.19.2)里拿,或是Android源码的\external\ping\目录下拿。

在jni下编译自己的.so文件。但是实验不成功。

追踪方法:用log在.c打印信息

需要声明

#include

#define  LOG_TAG    "zyp"

#define  LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)

且要在Android.mk文件添加LOCAL_LDLIBS :=-llog(需要放在include $(CLEAR_VARS)后面的任意位置)

就可以使用:

LOGI("ping= %f",a);打印自己要的信息

追踪发现在创建ICMP协议的socket会失败出错。查找资源原因是必须程序是Root权限才可以。

采用办法是且要在

Java:Process process = Runtime.getRuntime().exec(“su”);

也是失败。原因是因为Runtime.getRuntime().exec(“su”);只是开启一个“Root”的进程,程序还是没有获得Root权限去创建Socket。

方案二(需要Root):

把jni的ping.c与相关文件编译成可执行的二进制文件,Android.mk文件采用Busybox源码(busybox-1.19.2)里拿,或是Android源码的\external\ping\目录下的Andr



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有